<script>
	import APPUpdate from '@/utils/update.js';
	const $invite = require('./utils/invite.js'); //app.js
	const $index = require('./request/api/v1/index');
	export default {
		data() {
			return {
				tabbar: ''
			};
		},
		onLaunch: function(options) {
			let firstTime = uni.getStorageSync('firstTime');
			if (firstTime) {} else {
				uni.setStorageSync('firstTime', true);
			}

			//隐藏系统tabbar
			uni.hideTabBar();
			//获取设备信息
			this.globalData.getSystemInfo();
			// 登录
			uni.login({
				success: res => {
					// 发送 res.code 到后台换取 openId, sessionKey, unionId
				}
			});
			// 获取用户信息
			// #ifdef MP-TOUTIAO
			uni.getSetting({
				success: res => {
					if (res.authSetting['scope.userInfo']) {
						// 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
						uni.getUserInfo({
							success: res => {
								// 可以将 res 发送给后台解码出 unionId
								this.globalData.loginUserInfo = res;
								this.globalData.userInfo = res
									.userInfo; // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
								// 所以此处加入 callback 以防止这种情况

								if (this.userInfoReadyCallback) {
									this.userInfoReadyCallback(res);
								}
							}
						});
					}
				}
			});
			// #endif
			// #ifdef APP-PLUS
			plus.screen.lockOrientation('portrait-primary'); // 屏幕旋转锁定
			plus.push.addEventListener(
				'click',
				function(message) {
					console.log('点击通知栏透传信息 操作', message)
					if (global.platform == 'android') {
						var payload = message.payload;
						if (payload.jump_value) {
							setTimeout(() => {
								let pathList =
									'/pages/index/index,/pages/returnCar/returnCar,/pages/mine/mine'
								if (pathList.includes(payload.jump_value)) {
									// 如果是tabbar页 则跳转类型用这个跳转
									uni.switchTab({
										url: payload.jump_value
									})
								} else {
									uni.navigateTo({
										url: payload.jump_value
									});
								}
							}, 500);
						}
					} else {
						var payload;
						if (typeof message.payload == 'string') {
							payload = JSON.parse(message.payload);
						} else {
							payload = message.payload;
						}
						if (payload.jump_value) {
							setTimeout(() => {
								let pathList =
									'/pages/index/index,/pages/returnCar/returnCar,/pages/mine/mine'
								if (pathList.includes(payload.jump_value)) {
									// 如果是tabbar页 则跳转类型用这个跳转
									uni.switchTab({
										url: payload.jump_value
									})
								} else {
									uni.navigateTo({
										url: payload.jump_value
									});
								}
							}, 500);
						}
					}
				},
				false
			);
			plus.push.addEventListener(
				'receive',
				function(message) {
					console.log('透传信息触发监听获取，一收到推送 立马监听获取', message)
					if (message.type == 'receive' || global.platform == 'android') {
						let options = {
							cover: false,
							sound: 'system',
							title: message.title,
							when: new Date()
						};
						const content = JSON.parse(message.content);
						if (global.platform == 'android') {
							plus.push.createMessage(content.body, message.payload, options);
						} else {
							plus.push.createMessage(content.body, JSON.stringify(message.payload), options);
						}
					}
				},
				false
			);
			if (uni.getSystemInfoSync().platform == 'ios') {
				var UIApplication = plus.ios.import('UIApplication');
				var app = UIApplication.sharedApplication();
				//获取应用图标的数量
				var oldNum = app.applicationIconBadgeNumber();
				if (oldNum != 0) {
					var newNum = 0;
					//设置应用图标的数量
					plus.runtime.setBadgeNumber(newNum);
					//导入个推原生类
					var GeTuiSdk = plus.ios.importClass('GeTuiSdk');
					GeTuiSdk.setBadge(newNum);
				}
			} else {
				plus.runtime.setBadgeNumber(0);
			}
			this.checkUpdate();
			// #endif
		},
		onShow: function(e) {
			// uni.setStorageSync('WXAPP_SCENE', e.scene);
			// let referrerInfo = e.referrerInfo;
			// console.log('referrerInfo', referrerInfo);

			// if (referrerInfo.extraData && referrerInfo.extraData.id) {
			//     $invite.SetThirdId(referrerInfo.extraData.id);
			//     $invite.set_Invite_Id(referrerInfo.extraData.invite_id);
			// }

			// uni.hideTabBar();
			// let id = e.query.invite_id || 0;
			// $invite.setgetInviteId(id); //隐藏系统tabbar
			// if (uni.canIUse('getUpdateManager')) {
			// 	const updateManager = uni.getUpdateManager();
			// 	updateManager.onCheckForUpdate(function(res) {
			// 		// console.log('onCheckForUpdate====', res)
			// 		// 请求完新版本信息的回调
			// 		if (res.hasUpdate) {
			// 			//  console.log('res.hasUpdate====')
			// 			updateManager.onUpdateReady(function() {
			// 				uni.showModal({
			// 					title: '更新提示',
			// 					content: '新版本已经准备好，是否重启应用？',
			// 					success: function(res) {
			// 						// console.log('success====', res)
			// 						// res: {errMsg: "showModal: ok", cancel: false, confirm: true}
			// 						if (res.confirm) {
			// 							// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
			// 							updateManager.applyUpdate();
			// 						}
			// 					}
			// 				});
			// 			});
			// 			updateManager.onUpdateFailed(function() {
			// 				// 新的版本下载失败
			// 				uni.showModal({
			// 					title: '已经有新版本了哟~',
			// 					content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~'
			// 				});
			// 			});
			// 		}
			// 	});
			// }
			// this.getIslogin()
			// this.getUserQc()
		},
		methods: {
			// 检查更新
			checkUpdate() {
				APPUpdate();
			},
			getUserQc() {
				$index.getUserQc().then((res) => {
					// 获取订单是否完成质检 状态
					let obj = {
						qc_order_id: res.qc_order_id,
						is_store_order: res.is_store_order,
						is_show: res.qc_order_id > 0
					}
					uni.setStorageSync('finish_order', obj)
				})
			},
			getIslogin() {
				// $index.noticeInfo().then((res) => {
				// 	// 用户是否登录app 
				// 	let isFalt = res.is_app_login == 1 ? true : false
				// 	uni.setStorageSync('is_app_first', isFalt)
				// })
			}
		},
		globalData: {
			systemInfo: null,
			//客户端设备信息
			userInfo: null,
			loginUserInfo: null,
			is_info: 0,
			navHeight: null,
			navTop: null,
			height: 0,
			goodsList: [],
			isIphoneX: false,
			//判断机型
			userOrderType: 0,
			requestTack: '',
			totalNum: 0,
			is_show: false,
			is_show_location: true,

			getSystemInfo: function() {
				uni.getSystemInfo({
					success: function(res) {
						console.log('设备信息', res)
						global.systemInfo = res;
						global.platform = res.platform;
						let statusBarHeight = res.statusBarHeight;
						let navTop = 32;
						let navHeight = statusBarHeight + statusBarHeight * 2; //导航高度
						global.navHeight = navHeight;
						global.navTop = navTop + statusBarHeight;
						global.statusBarHeight = res.statusBarHeight;
					}
				});
			},
			windowHeight: ''
		}
	};
</script>
<style>
	@import './app.css';
	@import './style/common.css';

	/* 解决uni.showToast 层级被其它组件遮挡不显示 */
	uni-toast {
		z-index: 19999 !important;
	}
</style>